package org.hxyjs.entity;

import java.util.ArrayList;
import java.util.List;

public class SupplierExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Integer offset;

    public SupplierExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andSunoIsNull() {
            addCriterion("suno is null");
            return (Criteria) this;
        }

        public Criteria andSunoIsNotNull() {
            addCriterion("suno is not null");
            return (Criteria) this;
        }

        public Criteria andSunoEqualTo(String value) {
            addCriterion("suno =", value, "suno");
            return (Criteria) this;
        }

        public Criteria andSunoNotEqualTo(String value) {
            addCriterion("suno <>", value, "suno");
            return (Criteria) this;
        }

        public Criteria andSunoGreaterThan(String value) {
            addCriterion("suno >", value, "suno");
            return (Criteria) this;
        }

        public Criteria andSunoGreaterThanOrEqualTo(String value) {
            addCriterion("suno >=", value, "suno");
            return (Criteria) this;
        }

        public Criteria andSunoLessThan(String value) {
            addCriterion("suno <", value, "suno");
            return (Criteria) this;
        }

        public Criteria andSunoLessThanOrEqualTo(String value) {
            addCriterion("suno <=", value, "suno");
            return (Criteria) this;
        }

        public Criteria andSunoLike(String value) {
            addCriterion("suno like", value, "suno");
            return (Criteria) this;
        }

        public Criteria andSunoNotLike(String value) {
            addCriterion("suno not like", value, "suno");
            return (Criteria) this;
        }

        public Criteria andSunoIn(List<String> values) {
            addCriterion("suno in", values, "suno");
            return (Criteria) this;
        }

        public Criteria andSunoNotIn(List<String> values) {
            addCriterion("suno not in", values, "suno");
            return (Criteria) this;
        }

        public Criteria andSunoBetween(String value1, String value2) {
            addCriterion("suno between", value1, value2, "suno");
            return (Criteria) this;
        }

        public Criteria andSunoNotBetween(String value1, String value2) {
            addCriterion("suno not between", value1, value2, "suno");
            return (Criteria) this;
        }

        public Criteria andAnoIsNull() {
            addCriterion("ano is null");
            return (Criteria) this;
        }

        public Criteria andAnoIsNotNull() {
            addCriterion("ano is not null");
            return (Criteria) this;
        }

        public Criteria andAnoEqualTo(String value) {
            addCriterion("ano =", value, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoNotEqualTo(String value) {
            addCriterion("ano <>", value, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoGreaterThan(String value) {
            addCriterion("ano >", value, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoGreaterThanOrEqualTo(String value) {
            addCriterion("ano >=", value, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoLessThan(String value) {
            addCriterion("ano <", value, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoLessThanOrEqualTo(String value) {
            addCriterion("ano <=", value, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoLike(String value) {
            addCriterion("ano like", value, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoNotLike(String value) {
            addCriterion("ano not like", value, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoIn(List<String> values) {
            addCriterion("ano in", values, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoNotIn(List<String> values) {
            addCriterion("ano not in", values, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoBetween(String value1, String value2) {
            addCriterion("ano between", value1, value2, "ano");
            return (Criteria) this;
        }

        public Criteria andAnoNotBetween(String value1, String value2) {
            addCriterion("ano not between", value1, value2, "ano");
            return (Criteria) this;
        }

        public Criteria andSunameIsNull() {
            addCriterion("suname is null");
            return (Criteria) this;
        }

        public Criteria andSunameIsNotNull() {
            addCriterion("suname is not null");
            return (Criteria) this;
        }

        public Criteria andSunameEqualTo(String value) {
            addCriterion("suname =", value, "suname");
            return (Criteria) this;
        }

        public Criteria andSunameNotEqualTo(String value) {
            addCriterion("suname <>", value, "suname");
            return (Criteria) this;
        }

        public Criteria andSunameGreaterThan(String value) {
            addCriterion("suname >", value, "suname");
            return (Criteria) this;
        }

        public Criteria andSunameGreaterThanOrEqualTo(String value) {
            addCriterion("suname >=", value, "suname");
            return (Criteria) this;
        }

        public Criteria andSunameLessThan(String value) {
            addCriterion("suname <", value, "suname");
            return (Criteria) this;
        }

        public Criteria andSunameLessThanOrEqualTo(String value) {
            addCriterion("suname <=", value, "suname");
            return (Criteria) this;
        }

        public Criteria andSunameLike(String value) {
            addCriterion("suname like", value, "suname");
            return (Criteria) this;
        }

        public Criteria andSunameNotLike(String value) {
            addCriterion("suname not like", value, "suname");
            return (Criteria) this;
        }

        public Criteria andSunameIn(List<String> values) {
            addCriterion("suname in", values, "suname");
            return (Criteria) this;
        }

        public Criteria andSunameNotIn(List<String> values) {
            addCriterion("suname not in", values, "suname");
            return (Criteria) this;
        }

        public Criteria andSunameBetween(String value1, String value2) {
            addCriterion("suname between", value1, value2, "suname");
            return (Criteria) this;
        }

        public Criteria andSunameNotBetween(String value1, String value2) {
            addCriterion("suname not between", value1, value2, "suname");
            return (Criteria) this;
        }

        public Criteria andSuphoneIsNull() {
            addCriterion("suphone is null");
            return (Criteria) this;
        }

        public Criteria andSuphoneIsNotNull() {
            addCriterion("suphone is not null");
            return (Criteria) this;
        }

        public Criteria andSuphoneEqualTo(String value) {
            addCriterion("suphone =", value, "suphone");
            return (Criteria) this;
        }

        public Criteria andSuphoneNotEqualTo(String value) {
            addCriterion("suphone <>", value, "suphone");
            return (Criteria) this;
        }

        public Criteria andSuphoneGreaterThan(String value) {
            addCriterion("suphone >", value, "suphone");
            return (Criteria) this;
        }

        public Criteria andSuphoneGreaterThanOrEqualTo(String value) {
            addCriterion("suphone >=", value, "suphone");
            return (Criteria) this;
        }

        public Criteria andSuphoneLessThan(String value) {
            addCriterion("suphone <", value, "suphone");
            return (Criteria) this;
        }

        public Criteria andSuphoneLessThanOrEqualTo(String value) {
            addCriterion("suphone <=", value, "suphone");
            return (Criteria) this;
        }

        public Criteria andSuphoneLike(String value) {
            addCriterion("suphone like", value, "suphone");
            return (Criteria) this;
        }

        public Criteria andSuphoneNotLike(String value) {
            addCriterion("suphone not like", value, "suphone");
            return (Criteria) this;
        }

        public Criteria andSuphoneIn(List<String> values) {
            addCriterion("suphone in", values, "suphone");
            return (Criteria) this;
        }

        public Criteria andSuphoneNotIn(List<String> values) {
            addCriterion("suphone not in", values, "suphone");
            return (Criteria) this;
        }

        public Criteria andSuphoneBetween(String value1, String value2) {
            addCriterion("suphone between", value1, value2, "suphone");
            return (Criteria) this;
        }

        public Criteria andSuphoneNotBetween(String value1, String value2) {
            addCriterion("suphone not between", value1, value2, "suphone");
            return (Criteria) this;
        }

        public Criteria andSuimgIsNull() {
            addCriterion("suimg is null");
            return (Criteria) this;
        }

        public Criteria andSuimgIsNotNull() {
            addCriterion("suimg is not null");
            return (Criteria) this;
        }

        public Criteria andSuimgEqualTo(String value) {
            addCriterion("suimg =", value, "suimg");
            return (Criteria) this;
        }

        public Criteria andSuimgNotEqualTo(String value) {
            addCriterion("suimg <>", value, "suimg");
            return (Criteria) this;
        }

        public Criteria andSuimgGreaterThan(String value) {
            addCriterion("suimg >", value, "suimg");
            return (Criteria) this;
        }

        public Criteria andSuimgGreaterThanOrEqualTo(String value) {
            addCriterion("suimg >=", value, "suimg");
            return (Criteria) this;
        }

        public Criteria andSuimgLessThan(String value) {
            addCriterion("suimg <", value, "suimg");
            return (Criteria) this;
        }

        public Criteria andSuimgLessThanOrEqualTo(String value) {
            addCriterion("suimg <=", value, "suimg");
            return (Criteria) this;
        }

        public Criteria andSuimgLike(String value) {
            addCriterion("suimg like", value, "suimg");
            return (Criteria) this;
        }

        public Criteria andSuimgNotLike(String value) {
            addCriterion("suimg not like", value, "suimg");
            return (Criteria) this;
        }

        public Criteria andSuimgIn(List<String> values) {
            addCriterion("suimg in", values, "suimg");
            return (Criteria) this;
        }

        public Criteria andSuimgNotIn(List<String> values) {
            addCriterion("suimg not in", values, "suimg");
            return (Criteria) this;
        }

        public Criteria andSuimgBetween(String value1, String value2) {
            addCriterion("suimg between", value1, value2, "suimg");
            return (Criteria) this;
        }

        public Criteria andSuimgNotBetween(String value1, String value2) {
            addCriterion("suimg not between", value1, value2, "suimg");
            return (Criteria) this;
        }

        public Criteria andSuaddrIsNull() {
            addCriterion("suaddr is null");
            return (Criteria) this;
        }

        public Criteria andSuaddrIsNotNull() {
            addCriterion("suaddr is not null");
            return (Criteria) this;
        }

        public Criteria andSuaddrEqualTo(String value) {
            addCriterion("suaddr =", value, "suaddr");
            return (Criteria) this;
        }

        public Criteria andSuaddrNotEqualTo(String value) {
            addCriterion("suaddr <>", value, "suaddr");
            return (Criteria) this;
        }

        public Criteria andSuaddrGreaterThan(String value) {
            addCriterion("suaddr >", value, "suaddr");
            return (Criteria) this;
        }

        public Criteria andSuaddrGreaterThanOrEqualTo(String value) {
            addCriterion("suaddr >=", value, "suaddr");
            return (Criteria) this;
        }

        public Criteria andSuaddrLessThan(String value) {
            addCriterion("suaddr <", value, "suaddr");
            return (Criteria) this;
        }

        public Criteria andSuaddrLessThanOrEqualTo(String value) {
            addCriterion("suaddr <=", value, "suaddr");
            return (Criteria) this;
        }

        public Criteria andSuaddrLike(String value) {
            addCriterion("suaddr like", value, "suaddr");
            return (Criteria) this;
        }

        public Criteria andSuaddrNotLike(String value) {
            addCriterion("suaddr not like", value, "suaddr");
            return (Criteria) this;
        }

        public Criteria andSuaddrIn(List<String> values) {
            addCriterion("suaddr in", values, "suaddr");
            return (Criteria) this;
        }

        public Criteria andSuaddrNotIn(List<String> values) {
            addCriterion("suaddr not in", values, "suaddr");
            return (Criteria) this;
        }

        public Criteria andSuaddrBetween(String value1, String value2) {
            addCriterion("suaddr between", value1, value2, "suaddr");
            return (Criteria) this;
        }

        public Criteria andSuaddrNotBetween(String value1, String value2) {
            addCriterion("suaddr not between", value1, value2, "suaddr");
            return (Criteria) this;
        }

        public Criteria andSidIsNull() {
            addCriterion("sid is null");
            return (Criteria) this;
        }

        public Criteria andSidIsNotNull() {
            addCriterion("sid is not null");
            return (Criteria) this;
        }

        public Criteria andSidEqualTo(String value) {
            addCriterion("sid =", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidNotEqualTo(String value) {
            addCriterion("sid <>", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidGreaterThan(String value) {
            addCriterion("sid >", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidGreaterThanOrEqualTo(String value) {
            addCriterion("sid >=", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidLessThan(String value) {
            addCriterion("sid <", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidLessThanOrEqualTo(String value) {
            addCriterion("sid <=", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidLike(String value) {
            addCriterion("sid like", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidNotLike(String value) {
            addCriterion("sid not like", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidIn(List<String> values) {
            addCriterion("sid in", values, "sid");
            return (Criteria) this;
        }

        public Criteria andSidNotIn(List<String> values) {
            addCriterion("sid not in", values, "sid");
            return (Criteria) this;
        }

        public Criteria andSidBetween(String value1, String value2) {
            addCriterion("sid between", value1, value2, "sid");
            return (Criteria) this;
        }

        public Criteria andSidNotBetween(String value1, String value2) {
            addCriterion("sid not between", value1, value2, "sid");
            return (Criteria) this;
        }

        public Criteria andSupwdIsNull() {
            addCriterion("supwd is null");
            return (Criteria) this;
        }

        public Criteria andSupwdIsNotNull() {
            addCriterion("supwd is not null");
            return (Criteria) this;
        }

        public Criteria andSupwdEqualTo(String value) {
            addCriterion("supwd =", value, "supwd");
            return (Criteria) this;
        }

        public Criteria andSupwdNotEqualTo(String value) {
            addCriterion("supwd <>", value, "supwd");
            return (Criteria) this;
        }

        public Criteria andSupwdGreaterThan(String value) {
            addCriterion("supwd >", value, "supwd");
            return (Criteria) this;
        }

        public Criteria andSupwdGreaterThanOrEqualTo(String value) {
            addCriterion("supwd >=", value, "supwd");
            return (Criteria) this;
        }

        public Criteria andSupwdLessThan(String value) {
            addCriterion("supwd <", value, "supwd");
            return (Criteria) this;
        }

        public Criteria andSupwdLessThanOrEqualTo(String value) {
            addCriterion("supwd <=", value, "supwd");
            return (Criteria) this;
        }

        public Criteria andSupwdLike(String value) {
            addCriterion("supwd like", value, "supwd");
            return (Criteria) this;
        }

        public Criteria andSupwdNotLike(String value) {
            addCriterion("supwd not like", value, "supwd");
            return (Criteria) this;
        }

        public Criteria andSupwdIn(List<String> values) {
            addCriterion("supwd in", values, "supwd");
            return (Criteria) this;
        }

        public Criteria andSupwdNotIn(List<String> values) {
            addCriterion("supwd not in", values, "supwd");
            return (Criteria) this;
        }

        public Criteria andSupwdBetween(String value1, String value2) {
            addCriterion("supwd between", value1, value2, "supwd");
            return (Criteria) this;
        }

        public Criteria andSupwdNotBetween(String value1, String value2) {
            addCriterion("supwd not between", value1, value2, "supwd");
            return (Criteria) this;
        }

        public Criteria andSuemailIsNull() {
            addCriterion("suemail is null");
            return (Criteria) this;
        }

        public Criteria andSuemailIsNotNull() {
            addCriterion("suemail is not null");
            return (Criteria) this;
        }

        public Criteria andSuemailEqualTo(String value) {
            addCriterion("suemail =", value, "suemail");
            return (Criteria) this;
        }

        public Criteria andSuemailNotEqualTo(String value) {
            addCriterion("suemail <>", value, "suemail");
            return (Criteria) this;
        }

        public Criteria andSuemailGreaterThan(String value) {
            addCriterion("suemail >", value, "suemail");
            return (Criteria) this;
        }

        public Criteria andSuemailGreaterThanOrEqualTo(String value) {
            addCriterion("suemail >=", value, "suemail");
            return (Criteria) this;
        }

        public Criteria andSuemailLessThan(String value) {
            addCriterion("suemail <", value, "suemail");
            return (Criteria) this;
        }

        public Criteria andSuemailLessThanOrEqualTo(String value) {
            addCriterion("suemail <=", value, "suemail");
            return (Criteria) this;
        }

        public Criteria andSuemailLike(String value) {
            addCriterion("suemail like", value, "suemail");
            return (Criteria) this;
        }

        public Criteria andSuemailNotLike(String value) {
            addCriterion("suemail not like", value, "suemail");
            return (Criteria) this;
        }

        public Criteria andSuemailIn(List<String> values) {
            addCriterion("suemail in", values, "suemail");
            return (Criteria) this;
        }

        public Criteria andSuemailNotIn(List<String> values) {
            addCriterion("suemail not in", values, "suemail");
            return (Criteria) this;
        }

        public Criteria andSuemailBetween(String value1, String value2) {
            addCriterion("suemail between", value1, value2, "suemail");
            return (Criteria) this;
        }

        public Criteria andSuemailNotBetween(String value1, String value2) {
            addCriterion("suemail not between", value1, value2, "suemail");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}